package com.liuxing.doctor.service;

import com.liuxing.doctor.entity.Patient;

import java.util.List;
import java.util.Map;

/**
 * @athuer 行柳
 */
public interface PatientService {
    /**
     * 根据医生id查询其所属病人
     * @param id    医生的id标识
     * @return
     */
    List<Patient> queryAllPatients(String id);
    Patient queryById(String id);

    /**
     * 根据search_name和医生id查询所属已经诊断病人
     * @param search_name
     * @param id    医生的id标识
     * @return
     */
    List<Patient> queryPatientBySearchNameWithDoneDiagnosis(String search_name,String id);
    /**
     * 根据search_name和医生id查询所属未诊断病人
     * @param search_name
     * @return
     */
    List<Patient> queryPatientBySearchNameWithNoDoneDiagnosis(String search_name);
    /**
     * 更新病人基本信息
     * @param map
     * @return
     */
    int updatePatient(Map<String,Object> map);

    /**
     * 删除病人
     * @param patient_id
     * @return 影像记录条数
     */
    int deletePatient(String patient_id);
    /**
     * 查询当前医生已经诊断的病人
     * @param id 医生id的标识
     * @return
     */
    List<Patient> queryAllPatientWithMedicalRecordIdNotNull(String id);
    /**
     * 查询没有诊断的病人
     * @param
     * @return
     */
    List<Patient> queryAllPatientWithMedicalRecordIdNull();

    /**
     * 查询所有已经诊断的病人
     * @return
     */
    List<Patient> queryAllPatientWithMedicalRecordIdNotNull();

    /**
     * 添加一个新的病人   主要用于xml导入时
     * @param patient
     * @return
     */
    int insertOnePatient(Patient patient);
}
